一个方便做轮播图的工具
首先导入包
1
2compile 'com.youth.banner:banner:1.4.2'
compile 'com.github.bumptech.glide:glide:3.7.0'当然不用glide,用picasso,fresco都是可以的
然后写一个加载类,如果是用Glide的话,就这么写
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42package com.aidebar.demo;
import android.content.Context;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.youth.banner.loader.ImageLoader;
/**
* @author xzj
* @date 2016/11/21 11:27.
*/
public class GlideImageLoader extends ImageLoader {
public void displayImage(Context context, Object path, ImageView imageView) {
/**
常用的图片加载库:
Universal Image Loader:一个强大的图片加载库,包含各种各样的配置,最老牌,使用也最广泛。
Picasso: Square出品,必属精品。和OkHttp搭配起来更配呦!
Volley ImageLoader:Google官方出品,可惜不能加载本地图片~
Fresco:Facebook出的,天生骄傲!不是一般的强大。
Glide:Google推荐的图片加载库,专注于流畅的滚动。
*/
//Glide 加载图片简单用法
Glide.with(context).load(path).into(imageView);
// //Picasso 加载图片简单用法
// Picasso.with(context).load(path).into(imageView)
//
// //用fresco加载图片简单用法
// Uri uri = Uri.parse((String) path);
// imageView.setImageURI(uri);
}
// //提供createImageView 方法,如果不用可以不重写这个方法,方便fresco自定义ImageView
// @Override
// public ImageView createImageView(Context context) {
// SimpleDraweeView simpleDraweeView=new SimpleDraweeView(context);
// return simpleDraweeView;
// }
}布局很简单,就是一个banner
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.aidebar.demo.MainActivity">
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</RelativeLayout>使用:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29package com.aidebar.demo;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ImageView;
import com.youth.banner.Banner;
import com.youth.banner.BannerConfig;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private List<Integer> images = new ArrayList<>();
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
images.add(R.mipmap.a);
images.add(R.mipmap.b);
images.add(R.mipmap.d);
Banner banner = (Banner) findViewById(R.id.banner);
banner.setImageLoader(new GlideImageLoader()); //设置加载器
banner.setImages(images); //设置好资源
banner.setIndicatorGravity(BannerConfig.CENTER);
banner.isAutoPlay(true);
banner.start();
}
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 七夜的小屋!